package com.hpeu_01.day0126;

import java.lang.reflect.Field;

/**
 * 反射的使用演示
 */
public class PersonReflect {
    public static void main(String[] args) throws Exception {
        // 1. 创建Class对象:formName()的参数是类的完整路径（包名+类名）
        Class<?> aClass = Class.forName("com.hpeu_01.day0126.Person");
        // 2. 通过反射实例化对象，调用newInstance()方法就相当于调用类中的无参构造
        Person p = (Person) aClass.newInstance();
        // 3. 获取对象中的字段
        Field name = aClass.getDeclaredField("name");
        // 4. 通过反射给对象中的name属性赋值
        name.setAccessible(true);// 因为name的访问权限是private 设置可访问为true
        name.set(p,"sss");
        System.out.println(p);

    }
}
